#ifndef _SYSNO_H_
#define _SYSNO_H_

#define SYS_CONS_WRITE_CHAR 1
#define SYS_CONS_READ_CHAR 2
#define SYS_CONS_WRITE_BUF 3
#define SYS_HALT 4

#define SYS_GET_PARTITION_STATUS (0x1000 + 0)
#define SYS_SET_PARTITION_MODE (0x1000 + 1)

#define SYS_GET_PROCESS_ID (0x2000 + 0)
#define SYS_GET_PROCESS_STATUS (0x2000 + 1)
#define SYS_CREATE_PROCESS (0x2000 + 2)
#define SYS_SET_PRIORITY (0x2000 + 3)
#define SYS_SUSPEND_SELF (0x2000 + 4)
#define SYS_SUSPEND (0x2000 + 5)
#define SYS_RESUME (0x2000 + 6)
#define SYS_STOP_SELF (0x2000 + 7)
#define SYS_STOP (0x2000 + 8)
#define SYS_START (0x2000 + 9)
#define SYS_DELAYED_START (0x2000 + 10)
#define SYS_LOCK_PREEMPTION (0x2000 + 11)
#define SYS_UNLOCK_PREEMPTION (0x2000 + 12)
#define SYS_GET_MY_ID (0x2000 + 13)
#define SYS_INITIALIZE_PROCESS_CORE_AFFINITY (0x2000 + 14)
#define SYS_GET_MY_PROCESSOR_CORE_ID (0x2000 + 15)
#define SYS_GET_MY_INDEX (0x2000 + 16)

#define SYS_TIMED_WAIT (0x3000 + 0)
#define SYS_PERIODIC_WAIT (0x3000 + 1)
#define SYS_GET_TIME (0x3000 + 2)
#define SYS_REPLENISH (0x3000 + 3)

#define SYS_CREATE_SAMPLING_PORT (0x4000 + 0)
#define SYS_WRITE_SAMPLING_MESSAGE (0x4000 + 1)
#define SYS_READ_SAMPLING_MESSAGE (0x4000 + 2)
#define SYS_GET_SAMPLING_PORT_ID (0x4000 + 3)
#define SYS_GET_SAMPLING_PORT_STATUS (0x4000 + 4)
#define SYS_CREATE_QUEUING_PORT (0x4100 + 0)
#define SYS_SEND_QUEUING_MESSAGE (0x4100 + 1)
#define SYS_RECEIVE_QUEUING_MESSAGE (0x4100 + 2)
#define SYS_GET_QUEUING_PORT_ID (0x4100 + 3)
#define SYS_GET_QUEUING_PORT_STATUS (0x4100 + 4)
#define SYS_CLEAR_QUEUING_PORT (0x4100 + 5)

#define SYS_CREATE_BUFFER (0x5000 + 0)
#define SYS_SEND_BUFFER (0x5000 + 1)
#define SYS_RECEIVE_BUFFER (0x5000 + 2)
#define SYS_GET_BUFFER_ID (0x5000 + 3)
#define SYS_GET_BUFFER_STATUS (0x5000 + 4)
#define SYS_CREATE_BLACKBOARD (0x5100 + 0)
#define SYS_DISPLAY_BLACKBOARD (0x5100 + 1)
#define SYS_READ_BLACKBOARD (0x5100 + 2)
#define SYS_CLEAR_BLACKBOARD (0x5100 + 3)
#define SYS_GET_BLACKBOARD_ID (0x5100 + 4)
#define SYS_GET_BLACKBOARD_STATUS (0x5100 + 5)
#define SYS_CREATE_SEMAPHORE (0x5200 + 0)
#define SYS_WAIT_SEMAPHORE (0x5200 + 1)
#define SYS_SIGNAL_SEMAPHORE (0x5200 + 2)
#define SYS_GET_SEMAPHORE_ID (0x5200 + 3)
#define SYS_GET_SEMAPHORE_STATUS (0x5200 + 4)
#define SYS_CREATE_EVENT (0x5300 + 0)
#define SYS_SET_EVENT (0x5300 + 1)
#define SYS_RESET_EVENT (0x5300 + 2)
#define SYS_WAIT_EVENT (0x5300 + 3)
#define SYS_GET_EVENT_ID (0x5300 + 4)
#define SYS_GET_EVENT_STATUS (0x5300 + 5)
#define SYS_CREATE_MUTEX (0x5400 + 0)
#define SYS_ACQUIRE_MUTEX (0x5400 + 1)
#define SYS_RELEASE_MUTEX (0x5400 + 2)
#define SYS_RESET_MUTEX (0x5400 + 3)
#define SYS_GET_MUTEX_ID (0x5400 + 4)
#define SYS_GET_MUTEX_STATUS (0x5400 + 5)
#define SYS_GET_PROCESS_MUTEX_STATE (0x5400 + 6)

#endif
